package com.yanjr.modules.sys.dao;

import java.util.Date;
import java.util.List;

import org.springframework.stereotype.Repository;

import com.yanjr.common.persistence.BaseDao;
import com.yanjr.modules.sys.entity.User;

/**
 * @ClassName: UserDao 
 * @Description: 用户DAO接口
 * @author yanjr big123@126.com 
 * @date 2016年3月8日 下午2:33:42
 */
@Repository
public interface UserDao extends BaseDao<User> {
	
	/**
	 * 获得用户
	 * 
	 * @param id
	 * @return
	 * @author yanjr
	 */
	public User getUser(String id);
	
	/**
	 * @Description 查询所有有效的用户
	 * @return List<User>
	 * @date 2016年3月8日下午2:34:31
	 * @author yanjr big123@126.com
	 */
	public List<User> findAllList();
	
	public List<User> findByRoleId(String orleId);
	
	/**
	 * @Description 通过登录名查询用户
	 * @param loginName
	 * @return List<User>
	 * @date 2016年3月8日下午2:34:55
	 * @author yanjr big123@126.com
	 */
	public User findByLoginName(String loginName);

	/**
	 * @Description 通过用户id更新用户密码
	 * @param newPassword
	 * @param id
	 * @return int
	 * @date 2016年3月8日下午2:35:16
	 * @author yanjr big123@126.com
	 */
	public int updatePasswordById(String newPassword, String id);
	
	/**
	 * @Description 通过用户id更新用户登录ip和登陆时间
	 * @param loginIp
	 * @param loginDate
	 * @param id
	 * @return int
	 * @date 2016年3月8日下午2:35:39
	 * @author yanjr big123@126.com
	 */
	public int updateLoginInfo(String loginIp, Date loginDate, String id);
	
}
